package com.clstu.outputstream_;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class ObjectOutputStream_ {
    public static void main(String[] args) {//序列化，将对象类型和对象都保存金文件中
        ObjectOutputStream oos = null;
        try {
            oos = new ObjectOutputStream(new FileOutputStream("D:\\Object.dat"));//文件格式无实际意义，按照Java自己的机制来的

            oos.writeInt(100);//因为Integer Boolean Char Double String 都实现了Serializable接口，所以可以这么写入
            oos.writeBoolean(true);
            oos.writeChar('C');
            oos.writeDouble(9.5);
            oos.writeUTF("陈龙大帅哥");
            oos.writeObject(new Dog("Bruce",10,"China","Red"));//写入对象，（实现了Serializable接口）
            System.out.println("所有对象写入成功======");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                oos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
